package com.wgy.day30.Lambda表达式.有参数有返回值;

/*
练习:
给定一个计算器Calculator接口,内含抽象方法calc可以将两个int数字相加得到和值:
使用lambda的标准格式,调用invokeCalc方法,完成120和130的相加计算
*/

public class Demo04Lambda {
    public static void main(String[] args) {
        //调用invokeCalc方法,方法的参数是一个接口,可以使用匿名内部类
        invokeCalc(10, 20, new Calculator() {
            @Override
            public int calc(int a, int b) {
                return a + b;
            }
        });

        //使用lambda表达式标准格式简化匿名内部类
        invokeCalc(120, 130, (int a, int b) -> {
                    return a + b;
                }
        );

        //使用lambda表达式省略格式简化匿名内部类
        invokeCalc(120, 130, (a, b) -> a + b);

    }

    public static void invokeCalc(int a, int b, Calculator c) {
        int sum = c.calc(a, b);
        System.out.println(sum);

    }
}
